<?php 
/**
 * Autores:Daniel sanchez merlo,Guillermo Rodriguez congosto
 * Asignatura:GIW
 * GRUPO:A
 * Este código es exclusivamente de nuestra propiedad
 */

?>
<?php
class teatro {
	private $datos;
	private $id_conexion;
	private $bd;
	
	// Constructor
	function teatro($bd) {
		$this->bd=$bd;
	}
	
	// A�ade un teatro
	function add_teatro($nombre_obra, $nombre_teatro, $descripcion, $sesion1, $sesion2, $sesion3, $nume_filas, $nume_asientos) {
		DBHelper::add_teatro($this->bd, $nombre_obra, $nombre_teatro, $descripcion, $sesion1, $sesion2, $sesion3, $nume_filas, $nume_asientos);
		$this->listar ();
	}
	
	// Modifica un teatro
	function modificar($registro, $nombre_obra, $nombre_teatro, $descripcion, $sesion1, $sesion2, $sesion3, $nume_filas, $nume_asientos) {
		// Ejecuta un update sobre la tabla "teatro"		
		$this->datos = DBHelper::actualizar_teatro($this->bd, $registro, $nombre_obra, $nombre_teatro, $descripcion, $sesion1, $sesion2, $sesion3, $nume_filas, $nume_asientos);
		
		$this->listar ();
	}
	
	// Recupera el n� total de obras
	function nume_obras() {
		return DBHelper::n_obras($this->bd);
	}
	
	// Borra un teatro
	function del_teatro($identificador) {
		// Ejecuta un "delete" para eliminar los datos del teatro($identificador) y entradas asociadas sobre las tablas "teatro" y "entradas".
		DBHelper::delete_teatro($this->bd, $identificador);
		$this->listar ();
	}
	
	// Recuperar datos para modificar un teatro
	function recuperar_teatro($identificador,$orden,$sesion,$dia) {
		// Crea la p�gina en la que se muestran los datos de uId teatro($identificador) que se va a editar
		
		//$this->datos = DBHelper::recuperar_teatro($this->bd, $identificador);
		//$teatro = $this->datos;
		if($orden=="fecha") {
			$teatro = DBHelper::recuperar_valoraciones_obra_fecha($this->bd, $identificador)['result'];
		} else {
			$teatro = DBHelper::recuperar_valoraciones_obra_puntuacion($this->bd, $identificador)['result'];
		}
		if($_SESSION['rol']=="administrador"){
			$entradas=DBHelper::recuperar_entradas($this->bd, $identificador, $dia, $sesion);
			$entradas=iterator_to_array($entradas,false);
		}
		//var_dump($teatro);
		if(count($teatro)){
			$teatro=$teatro[0];
		}
		include "consultaTeatro.php";
	}
	function recuperar_teatroModificar($identificador) {
		// Crea la p�gina en la que se muestran los datos de uId teatro($identificador) que se va a editar
		$this->datos = DBHelper::recuperar_teatro($this->bd, $identificador);
		$teatro = $this->datos;

		include "modificarTeatro.php";
	}
	// Introducir datos para a�adir un teatro
	function datos_teatro() {
		// Crea la p�gina en la que se muestran el formulario en el que se meter�n los datos del teatro que se quiere a�adir
		include("nuevoTeatro.php");
	}
	
	// Buscar obra
	function buscar($busqueda) {
		// Se ejecuta un select para recuperar toda la informaci�n de la tabla "teatro" referida al campo de b�squeda.
		// Si se produce un error se indica al usuario. En caso contrario si no hay resultados se muestra un mensaje informando de tal situaci�n, y en caso de que haya resultados se muestran los resultados recuperados.
		//$sql_script = "SELECT * FROM teatro where nombre_obra like '%$busqueda%'";
		
		$teatros = DBHelper::buscar_obra($this->bd, $busqueda);
		$teatros = iterator_to_array($teatros,false);
		if (! count ( $teatros )) {
			include ("notFound.php");
		} else {
			include "listadoTeatros.php";
		}
	}
	
	// Listado de obras
	function Listar() {
		// Se ejecuta un select para recuperar toda la informaci�n de la tabla "teatro".
		// Si se produce un error se indica al usuario. En caso contrario se muestran los resultados recuperados.
		$this->datos = DBHelper::listar_teatros($this->bd);
		$teatros = iterator_to_array($this->datos,false);
		include "listadoTeatros.php";
	}
	
	// Funci�n que dibuja el teatro (Bot�n comprar del listado de teatros)
	function comprar($Id, $sesion, $dia) {
		// Crea la p�gina de compra,y dibuja el teatro.
		$teatro = DBHelper::recuperar_teatro($this->bd, $Id);
		
		//$dia = date ( "Y-m-d", strtotime ( $dia ) );
		$entradas = DBHelper::recuperar_entradas($this->bd, $Id, $dia, $sesion);
		//var_dump($entradas);
		$entradas=iterator_to_array($entradas,false);
		//var_dump($entradas);
		include "comprar.php";
	}
	
	// Funci�n que almacena/elimina en base de datos la reserva de entradas
	function exec_comprar($Id, $sesion, $fila, $asiento, $accion, $dia) {
		// Ejecuta un insert o un delete de la tabla entradas teniendo en cuenta si el asiento estaba seleccionado o no(variable $accion). Actualiza la p�gina.
		// $Id es el identificador del teatro, $sesi�n la sesi�n de la obra, $fila y $asiento la localizaci�n de la butaca y $d�a el d�a de la representaci�n.
		//$dia = date ( "Y-m-d", strtotime ( $dia ) );
		if ($accion) {
			
			$this->datos =DBHelper::comprar_entrada($this->bd, $Id, $sesion, $fila, $asiento, $accion, $dia);
			
		} else {
						
			$this->datos = DBHelper::eliminar_entrada($this->bd, $Id, $sesion, $fila, $asiento, $accion, $dia);
		}
	}
} // END clase teatro